Poor visibility in bad weather is a major problem for many applications of computer vision. Most automatic computer vision systems, such as surveillance, intelligent vehicles, outdoor object recognition, assume that the input images have good visibility. Unfortunately, this is not always true as bad weather introduces noise into image data. As a result it is important to first process the image data to enhance visibility.
In most computer vision applications, inferences about the content of the image are assembled from low-level image processing operations, such as edge detection or background subtraction. In general, the reliability of these processes degrades rather quickly as image quality decreases. For instance, edge detection looks at the difference in intensities between a pair of neighbouring pixels. If the difference is large, there is most likely an edge between them.
Noise in images due to suspended fine solid and liquid particles in the scene known as aerosols, such as fog, reduces the quality and contrast of the captured image, which means (in the edge detection example) the likelihood of the edge detector providing sufficiently reliable information for high-level inferences is reduced, as the intensity difference is lower.
Fog occurs when water droplets are suspended in the air. As shown in FIG. 1, the presence of fog or any other aerosol leads to two types of light reaching the camera or observer: “transmitted” and “path” components (referred to as the “direct” and “airlight” components in [1]). Referring first to the “transmitted” component shown in FIG. 1(a), light 11 from the illumination source 10 reflects off objects in the scene and travels 12 towards the observer or camera 15. There is also a secondary diffuse illumination source 14 created from light which has already reflected off surfaces in the scene, such as the ground. When an aerosol is present, the amount of diffuse light increases, as the direct light is scattered multiple times before reaching the surfaces of the scene. Similarly, light 12 may scatter 16 while travelling towards the observer. As a result, the signal reaching the observer or camera 15 is an attenuated version of that which would have been recorded without the aerosol present. Put another way, this “transmitted” or “direct” component is a diminished version of radiance L0 at the surface of the object, and the attenuation is determined by the optical distance βd(x) [1], where x represents a particular point in the image, d(x) the geometric distance of said point, and β is the extinction co-efficient:Ltransmitted(x)=L0(x)e−βd(x)  (1)
Referring now to FIG. 1(b), the aerosol also produces a second “path” or “airlight” radiance, where ambient illumination 20 (identical to 14 in FIG. 1(a)) is scattered 21 towards the observer or camera 15. Again, some of this light may scatter 22 while travelling towards the observer or camera 15. In most situations, fog is adequately dense to assume that there is no direct illumination 11—only constant isotropic diffuse ambient illumination 14. Under this assumption, the “path” component (relative to the radiance of the horizon, L∞) becomes [1]:Lpath(x)=L∞(1−e−βd(x))  (2)
The magnitudes of the “transmitted” and “path” components both depend on the distance and properties of the aerosol. The radiance, Lobs, reaching the observer is the sum of the “transmitted” and “path” components.
                                                                                          L                  obs                                ⁡                                  (                  x                  )                                            =                            ⁢                                                                    L                    transmitted                                    ⁡                                      (                    x                    )                                                  +                                                      L                    path                                    ⁡                                      (                    x                    )                                                                                                                          =                            ⁢                                                                                          L                      0                                        ⁡                                          (                      x                      )                                                        ⁢                                      ⅇ                                                                  -                        β                                            ⁢                                                                                          ⁢                                              d                        ⁡                                                  (                          x                          )                                                                                                                    +                                                      L                    ∞                                    ⁡                                      (                                          1                      -                                              ⅇ                                                                              -                            β                                                    ⁢                                                                                                          ⁢                                                      d                            ⁡                                                          (                              x                              )                                                                                                                                            )                                                                                                                                              (                              3                ⁢                a                            )                                                                          (                              3                ⁢                b                            )                                          
Re-arranging, one can recover an expression for the radiance at the surface L0, which represents how the point x should appear under diffuse illumination without the aerosol present in the atmosphere [1]:L0(x)=[Lobs(x)−L∞(1−e−βd(x))]eβd(x)  (4)
In grey scale images, Lobs, L0 and L∞ are all scalar quantities. In colour images they are usually vectors of length three. If the extinction co-efficient β is constant, we can define an auxiliary variable z=e−βd(x), and express each of Eqs. (1) to (4) relative to this new variable (instead of x).